package com.pai4j.message.subscription;

import com.pai4j.message.model.MessageContext;

/**
 * 订阅者接口
 * 接收订阅的消息
 *
 * @author PAI4J Team
 * @date 2025-11-01
 */
public interface Subscriber {

    /**
     * 接收消息
     *
     * @param context 消息上下文
     */
    void onMessage(MessageContext context);

    /**
     * 获取订阅者ID
     *
     * @return 订阅者ID
     */
    String getSubscriberId();

    /**
     * 获取订阅者类型
     * 例如：user, system, webhook
     *
     * @return 订阅者类型
     */
    default String getSubscriberType() {
        return "user";
    }
}

